#pragma once
#include <future>
#include <functional>
#include <cppconn/resultset.h>

class QueryCallback
{
public:
    //result是右值引用，但是传到函数中后，result是局部变量，是左值，move使重新变为右值
    QueryCallback(std::future<std::unique_ptr<sql::ResultSet>> &&result,std::function<void(std::unique_ptr<sql::ResultSet>)>&& cb)
        :result_(std::move(result)),cb_(std::move(cb))
    {

    }
    bool SparkIfReady();

private:
    std::future<std::unique_ptr<sql::ResultSet>> result_;
    std::function<void(std::unique_ptr<sql::ResultSet>)> cb_;
};


